home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Aminet 24
/
Aminet 24 (1998)(GTI - Schatztruhe)[!][Apr 1998].iso
/
Aminet
/
dev
/
c
/
AmiVoGL_MDEV.lha
/
examples
/
fpoly.F
< prev
next >
Wrap
Text File
|
1991-06-03
|
3KB
|
210 lines
c
c drawpoly
c
c draw some polygons
c
subroutine drawpo
#ifdef SGI
#include "fgl.h"
#else
#include "fvogl.h"
#endif
integer *2 val
c
c An array of points for a polygon
c
real parray(3,4)
real vec(3)
data parray/ -8.0, -8.0, 0.0,
+ -5.0, -8.0, 0.0,
+ -5.0, -5.0, 0.0,
+ -8.0, -5.0, 0.0 /
call color(YELLOW)
c
c Draw a polygon using poly, parray is our array of
c points and 4 is the number of points in it.
c
call poly(4, parray)
call color(GREEN)
c
c Draw a 5 sided figure by using bgnpolygon, v3f and endpolygon
c
call polymo(PYM_LI)
call bgnpol
vec(1) = 0.0
vec(2) = 0.0
vec(3) = 0.0
call v3f(vec)
vec(1) = 3.0
vec(2) = 0.0
vec(3) = 0.0
call v3f(vec)
vec(1) = 3.0
vec(2) = 4.0
vec(3) = 0.0
call v3f(vec)
vec(1) = -1.0
vec(2) = 5.0
vec(3) = 0.0
call v3f(vec)
vec(1) = -2.0
vec(2) = 2.0
vec(3) = 0.0
call v3f(vec)
call endpol
call color(MAGENT)
c
c draw a sector representing a 1/4 circle
c
call arc(1.5, -7.0, 3.0, 0, 900)
call move2(1.5, -7.0)
call draw2(1.5, -4.0)
call move2(1.5, -7.0)
call draw2(4.5, -7.0)
idum = qread(val)
end
c
c drawpolyf
c
c draw some polygons
c
subroutine drawpf
#ifdef SGI
#include "fgl.h"
#else
#include "fvogl.h"
#endif
integer *2 val
c
c An array of points for a polygon
c
real parray(3,4)
data parray/ -8.0, -8.0, 0.0,
+ -5.0, -8.0, 0.0,
+ -5.0, -5.0, 0.0,
+ -8.0, -5.0, 0.0 /
call color(YELLOW)
call polymo(PYM_FI)
c
c Draw a polygon using poly, parray is our array of
c points and 4 is the number of points in it.
c
call polf(4, parray)
call color(GREEN)
call pmv(0.0, 0.0, 0.0)
call pdr(3.0, 0.0, 0.0)
call pdr(3.0, 4.0, 0.0)
call pdr(-1.0, 5.0, 0.0)
call pdr(-2.0, 2.0, 0.0)
call pclos()
call color(MAGENT)
c
c draw a filled sector representing a 1/4 circle
c
call arcf(1.5, -7.0, 3.0, 0, 900)
idum = qread(val)
end
c
c Using polygons, hatching, and filling.
c
program fpoly
#include "fvogl.h"
#include "fvodevice.h"
call winope('fpoly', 5)
c
c We are interested in keyboard events
c
call unqdev(INPUTC)
call qdevic(KEYBD)
c
c load a hershey font
c
call hfont('futura.l', 8)
c
c clear to black
c
call color(BLACK)
call clear
c
c world coordinates are now in the range -10 to 10
c in x, y, and z. Note that positive z is towards us.
c
call ortho(-10.0, 10.0, -10.0, 10.0, 10.0, -10.0)
call color(YELLOW)
c
c write out the string "Polygon from poly()" in the
c starting at (-8.0, -4.0) and scaled to be 4.0 units long,
c 0.5 units high.
c
call hboxte(-8.0, -4.0, 4.0, 0.5,
+ 'Polygon from poly()/ polf()', 27)
call color(GREEN)
c
c write out a scaled string starting at (0.0, 6.0)
c
call hboxte(0.0, 6.0, 4.5, 0.5,
+ 'Polygon from bgnpol()/ endpol()', 31)
call hboxte(0.0, 5.0, 4.5, 0.5,
+ ' pmv()/ pdr()/ pclos()', 34)
call color(MAGENT)
c
c draw some polygons
c
call drawpo
c
c Rotate 20 degrees around x and 30 around y
c
call rotate(200, 'x')
call rotate(300, 'y')
c
c draw some polygons with filling
c
call drawpf
call gexit
end